The present invention relates to data processing by digital computer, and more particularly to a service meta model for an enterprise service architecture.
The design process for complex software applications generally begins with constructing a model of the software architecture. In an object-oriented design process, for example, a model allows a designer to define the structure and interaction of a large number of software modules before actual software coding begins. The development of a model can also promote reuse of modules within an application (or between applications) by facilitating an organized representation of the application. The ability to reuse modules can also facilitate at least partially automated application code generation. For example, if a model for a new application reuses software modules from a prior application, it is possible to automatically generate some of the code for the new application by using the code from the prior application.
An application can be modeled, for example, using the Unified Modeling Language (UML) to create a visual representation of the application. Models defined using UML can easily be translated into metadata that can be stored in a repository (e.g., using Extensible Markup Language (XML) Metadata Interchange (XMI)). Web services and/or applications that implement web services can be modeled using a UML class diagram, which can be converted into Web Services Description Language (WSDL) to describe the mechanics of interacting with a particular web service. WSDL provides a framework for describing a web service by defining message types, interfaces, operations, and bindings.